<template>
    <div>
        <!--面包屑导航区域-->
        <el-breadcrumb separator-class="el-icon-arrow-right">
            <el-breadcrumb-item :to="{ path: '/home' }">首页</el-breadcrumb-item>
            <el-breadcrumb-item>数据统计</el-breadcrumb-item>
            <el-breadcrumb-item>数据报表</el-breadcrumb-item>
        </el-breadcrumb>

        <!--卡片视图区-->
        <el-card>
            <!-- 2.为 ECharts 准备一个具备大小（宽高）的 DOM -->
            <div id="main" style="width: 750px;height:400px;"></div>
        </el-card>
    </div>
</template>

<script>
  //1.导入echarts
  //import echarts from "echarts"
  import * as echarts from 'echarts';

  //import * as xxx from ‘xxx’: 会将若干export导出的内容组合成一个对象返回
  //import xxx from ‘xxx’：（export default Din）只会导出这个默认的对象作为一个对象

  import _ from "lodash";

  //合并对象原生的方法
  //https://www.cnblogs.com/zhouyideboke/p/9556296.html
  // var o1 = { a: 1 };
  // var o2 = { b: 2 };
  // var o3 = { c: 3 };
  //
  // var obj = Object.assign(o1, o2, o3);
  // console.log(obj); // { a: 1, b: 2, c: 3 }
  // console.log(o1);  // { a: 1, b: 2, c: 3 }, 注意目标对象自身也会改变
  export default {
    name: "report",
    data(){
      return {
        //options是需要合并的数据
        options: {
          title: {
            text: '用户来源'
          },
          tooltip: {
            trigger: 'axis',
            axisPointer: {
              type: 'cross',
              label: {
                backgroundColor: '#E9EEF3'
              }
            }
          },
          grid: {
            left: '3%',
            right: '4%',
            bottom: '3%',
            containLabel: true
          },
          xAxis: [
            {
              boundaryGap: false
            }
          ],
          yAxis: [
            {
              type: 'value'
            }
          ]
        }
      }
    },
    created(){

    },
    //此时，页面上的元素已经渲染完毕了！
    async mounted(){

      console.log("echarts:",echarts);
      // 3.基于准备好的dom，初始化echarts实例
      var myChart = echarts.init(document.getElementById('main'));
      const reportRes=await this.$http.get("reports/type/1");
      if(reportRes.status!==200){
        return this.$messgae.error("获取折线图数据失败！");
      }
      console.log("reportRes:",reportRes);


      //4.准备数据和配置项
      //合并对象
      const result=_.merge(reportRes.data.data,this.options);

      //5.展示数据
      myChart.setOption(result);

    }
  }
</script>

<style scoped>

</style>